package me.firstapp.service.weixin.transfer;

import java.util.Date;
import java.util.List;
import java.util.Map;

import me.firstapp.common.utils.Page;
import me.firstapp.module.weixin.member.Member;
import me.firstapp.module.weixin.transfer.TransferMemberRecord;

public interface TransferMemberRecordService {

	TransferMemberRecord executeAddTransferMemberRecord(String openId, Long transferMemberProductId);

	TransferMemberRecord findByOpenIdAndRecordNo(String openId, String recordNo);

	TransferMemberRecord executeBeiBiPay(TransferMemberRecord transferMemberRecord, Member member);

	List<TransferMemberRecord> findByStatus(Integer status);

	TransferMemberRecord executeUpdate(TransferMemberRecord transferMemberRecord);

	TransferMemberRecord executeCancel(TransferMemberRecord transferMemberRecord);

	Page<TransferMemberRecord> findTransferMemberRecordPage(Integer pageNo, Integer pageSize,
			Map<String, Object> searchParams, String sortParam, String sortType, Date startTime, Date endTime);
}
